package com.gopay.common.domain.airticket;

import java.io.Serializable;

import javax.persistence.*;

import com.gopay.common.domain.BaseEntity;

import java.math.BigDecimal;
import java.sql.Timestamp;


/**
 * The persistent class for the RECEIVABLES_STATISTICS database table.
 * 
 */
@Entity
@Table(name="RECEIVABLES_STATISTICS")
public class ReceivablesStatistic extends BaseEntity {
	private static final long serialVersionUID = 1L;
	
	@Id
    @SequenceGenerator(name="RECEIVABLES_STATISTICS_SQ_GENERATOR", sequenceName="RECEIVABLES_STATISTICS_SQ")
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="RECEIVABLES_STATISTICS_SQ_GENERATOR")
    @Column(name="SQ" )
	private Long sq;
	
	
	@Column(name="ACCT_NO")
	private String acctNo;

	@Column(name="ACTUAL_SETTLEMENT_AMT")
	private BigDecimal actualSettlementAmt;

	@Column(name="COUNT_TIME")
	private Timestamp countTime;

	private BigDecimal fee;

	@Column(name="NETRECEIVABLES_AMT")
	private BigDecimal netreceivablesAmt;

	@Column(name="RECIEPT_AMT")
	private BigDecimal recieptAmt;

	@Column(name="RECIEPT_COUNT")
	private String recieptCount;

	@Column(name="REFUND_AMT")
	private BigDecimal refundAmt;
	
	@Column(name="REFUND_FEE_AMT")
	private BigDecimal refundFeeAmt;

	@Column(name="REFUND_COUNT")
	private String refundCount;

	@Column(name="REFUND_FAIL_AMT")
	private BigDecimal refundFailAmt;

	@Column(name="REFUND_FAIL_FEE_AMT")
	private BigDecimal refundFailFeeAmt;

	@Column(name="REFUND_FAIL_COUNT")
	private String refundFailCount;

	@Column(name="SHOULD_SETTLEMENT_AMT")
	private BigDecimal shouldSettlementAmt;

	@Column(name="SHOULD_FEE_AMT")
	private BigDecimal shouldFeeAmt;

	@Column(name="TRANSFERBACK_AMT")
	private BigDecimal transferBackAmt;

	@Column(name="TRANSFERBACK_FEE_AMT")
	private BigDecimal transferBackFeeAmt;

	@Column(name="TRANSFERBACK_COUNT")
	private String transferBackCount;

	@Column(name="RECE_REFUND_FEE_AMT")
	private BigDecimal receRefundFeeAmt;

	@Column(name="RECE_REFUND_FAIL_FEE_AMT")
	private BigDecimal receRefundFailFeeAmt;

	public ReceivablesStatistic() {
	}


	public Long getSq() {
		return sq;
	}


	public void setSq(Long sq) {
		this.sq = sq;
	}


	public String getAcctNo() {
		return acctNo;
	}


	public void setAcctNo(String acctNo) {
		this.acctNo = acctNo;
	}


	public BigDecimal getActualSettlementAmt() {
		return actualSettlementAmt;
	}


	public void setActualSettlementAmt(BigDecimal actualSettlementAmt) {
		this.actualSettlementAmt = actualSettlementAmt;
	}


	public Timestamp getCountTime() {
		return countTime;
	}


	public void setCountTime(Timestamp countTime) {
		this.countTime = countTime;
	}


	public BigDecimal getFee() {
		return fee;
	}


	public void setFee(BigDecimal fee) {
		this.fee = fee;
	}


	public BigDecimal getNetreceivablesAmt() {
		return netreceivablesAmt;
	}


	public void setNetreceivablesAmt(BigDecimal netreceivablesAmt) {
		this.netreceivablesAmt = netreceivablesAmt;
	}


	public BigDecimal getRecieptAmt() {
		return recieptAmt;
	}


	public void setRecieptAmt(BigDecimal recieptAmt) {
		this.recieptAmt = recieptAmt;
	}


	public String getRecieptCount() {
		return recieptCount;
	}


	public void setRecieptCount(String recieptCount) {
		this.recieptCount = recieptCount;
	}


	public BigDecimal getRefundAmt() {
		return refundAmt;
	}


	public void setRefundAmt(BigDecimal refundAmt) {
		this.refundAmt = refundAmt;
	}


	public BigDecimal getRefundFeeAmt() {
		return refundFeeAmt;
	}


	public void setRefundFeeAmt(BigDecimal refundFeeAmt) {
		this.refundFeeAmt = refundFeeAmt;
	}


	public String getRefundCount() {
		return refundCount;
	}


	public void setRefundCount(String refundCount) {
		this.refundCount = refundCount;
	}


	public BigDecimal getRefundFailAmt() {
		return refundFailAmt;
	}


	public void setRefundFailAmt(BigDecimal refundFailAmt) {
		this.refundFailAmt = refundFailAmt;
	}


	public BigDecimal getRefundFailFeeAmt() {
		return refundFailFeeAmt;
	}


	public void setRefundFailFeeAmt(BigDecimal refundFailFeeAmt) {
		this.refundFailFeeAmt = refundFailFeeAmt;
	}


	public String getRefundFailCount() {
		return refundFailCount;
	}


	public void setRefundFailCount(String refundFailCount) {
		this.refundFailCount = refundFailCount;
	}


	public BigDecimal getShouldSettlementAmt() {
		return shouldSettlementAmt;
	}


	public void setShouldSettlementAmt(BigDecimal shouldSettlementAmt) {
		this.shouldSettlementAmt = shouldSettlementAmt;
	}


	public BigDecimal getShouldFeeAmt() {
		return shouldFeeAmt;
	}


	public void setShouldFeeAmt(BigDecimal shouldFeeAmt) {
		this.shouldFeeAmt = shouldFeeAmt;
	}

	public BigDecimal getTransferBackAmt() {
		return transferBackAmt;
	}

	public void setTransferBackAmt(BigDecimal transferBackAmt) {
		this.transferBackAmt = transferBackAmt;
	}

	public BigDecimal getTransferBackFeeAmt() {
		return transferBackFeeAmt;
	}

	public void setTransferBackFeeAmt(BigDecimal transferBackFeeAmt) {
		this.transferBackFeeAmt = transferBackFeeAmt;
	}

	public String getTransferBackCount() {
		return transferBackCount;
	}

	public void setTransferBackCount(String transferBackCount) {
		this.transferBackCount = transferBackCount;
	}

	public BigDecimal getReceRefundFeeAmt() {
		return receRefundFeeAmt;
	}

	public void setReceRefundFeeAmt(BigDecimal receRefundFeeAmt) {
		this.receRefundFeeAmt = receRefundFeeAmt;
	}

	public BigDecimal getReceRefundFailFeeAmt() {
		return receRefundFailFeeAmt;
	}

	public void setReceRefundFailFeeAmt(BigDecimal receRefundFailFeeAmt) {
		this.receRefundFailFeeAmt = receRefundFailFeeAmt;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((acctNo == null) ? 0 : acctNo.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj) {
            return true;
        }
		if (obj == null) {
            return false;
        }
		if (getClass() != obj.getClass()) {
            return false;
        }
		ReceivablesStatistic other = (ReceivablesStatistic) obj;
		if (acctNo == null) {
			if (other.acctNo != null) {
                return false;
            }
		} else if (!acctNo.equals(other.acctNo)) {
            return false;
        }
		return true;
	}

	@Override
	public String toString() {
		return "ReceivablesStatistic{" +
				"sq=" + sq +
				", acctNo='" + acctNo + '\'' +
				", actualSettlementAmt=" + actualSettlementAmt +
				", countTime=" + countTime +
				", fee=" + fee +
				", netreceivablesAmt=" + netreceivablesAmt +
				", recieptAmt=" + recieptAmt +
				", recieptCount='" + recieptCount + '\'' +
				", refundAmt=" + refundAmt +
				", refundFeeAmt=" + refundFeeAmt +
				", refundCount='" + refundCount + '\'' +
				", refundFailAmt=" + refundFailAmt +
				", refundFailFeeAmt=" + refundFailFeeAmt +
				", refundFailCount='" + refundFailCount + '\'' +
				", shouldSettlementAmt=" + shouldSettlementAmt +
				", shouldFeeAmt=" + shouldFeeAmt +
				", transferBackAmt=" + transferBackAmt +
				", transferBackFeeAmt=" + transferBackFeeAmt +
				", transferBackCount='" + transferBackCount + '\'' +
				'}';
	}
}